import * as THREE from 'three';

/**
 * 材质工厂
 */
export default {
    one: new THREE.MeshLambertMaterial({
        // 材质颜色
        color:0xff0000,
        // 透明度 0-1
        opacity:0.5,
        // 是否开启透明度效果
        transparent:true
    }),
    two: new THREE.MeshBasicMaterial( { color: 0x00ff00 } ),
    three: new THREE.MeshPhongMaterial({
        color:0x0000ff,
        specular:0x4488ee,
        shininess:12
    }),
    getByIndex: function(index) {
        return this[Object.keys(this)[index]]
    }
}

/**
 * 常见材质
 * MeshBasicMaterial: 基础网格材质，不受光照影响的材质
 * MeshLambertMaterial: Lambert网格材质，与光照有反应，漫反射
 * MeshPhongMaterial: 高光Phong材质,与光照有反应
 * MeshStandardMaterial: PBR物理材质，相比较高光Phong材质可以更好的模拟金属、玻璃等效果
 *
 * 材质常见属性
 * 材质属性	简介
 * color	材质颜色，比如蓝色0x0000ff
 * wireframe	将几何图形渲染为线框。 默认值为false
 * opacity	透明度设置，0表示完全透明，1表示完全不透明
 * transparent	是否开启透明，默认false
 */
